[INFO] cloning repository https://github.com/L-Holmes/websiteCompiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/L-Holmes/websiteCompiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL-Holmes%2FwebsiteCompiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL-Holmes%2FwebsiteCompiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 24636ab1668bc38835699d99fe9484be6041cc1d
[INFO] fixing L-Holmes/websiteCompiler against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL-Holmes%2FwebsiteCompiler" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/L-Holmes/websiteCompiler
[INFO] finished tweaking git repo https://github.com/L-Holmes/websiteCompiler
[INFO] tweaked toml for git repo https://github.com/L-Holmes/websiteCompiler written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/L-Holmes/websiteCompiler on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/L-Holmes/websiteCompiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3
[INFO] running `Command { std: "docker" "start" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking clap_builder v4.5.42
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]     Checking clap v4.5.42
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking websiteCompiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]  --> src/components.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/components.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]  --> src/components.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/components.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let mut html_to_insert = if associated_html_in_src.is_file() {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let mut html_to_insert = if associated_html_in_src.is_file() {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `websiteCompiler` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `website_compiler`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid format string: unmatched `}` found
[INFO] [stdout]    --> tests/components_test.rs:834:126
[INFO] [stdout]     |
[INFO] [stdout] 834 | ...r \\\"body...\\\": expected \\\"{{\\\", was \\\"}\\\"\" >&2\nexit 1");
[INFO] [stdout]     |                                                    ^ unmatched `}` in format string
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to print `}`, you can escape it using `}}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Cow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsString`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ffi::OsString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]   --> src/main.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{self, Write};
[INFO] [stdout]    |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Cow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsString`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ffi::OsString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]   --> src/main.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{self, Write};
[INFO] [stdout]    |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEWLINE_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/main.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NEWLINE_PLACEHOLDER: char = '§';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOP_COMMENT` is never used
[INFO] [stdout]   --> src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const TOP_COMMENT: &str = "# [@reusable_component_start]:"; // placeholder to represent the start of a reusable component
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOTTOM_COMMENT` is never used
[INFO] [stdout]   --> src/main.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const BOTTOM_COMMENT: &str = "# [@reusable_component_end]:"; // placeholder to represent the end of a reusable component
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             process_html_template_file_for_all_languages(&dest_uncompiled, OUTPUT_DIRECTORY, &translations_files);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let _ = process_html_template_file_for_all_languages(&dest_uncompiled, OUTPUT_DIRECTORY, &translations_files);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEWLINE_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/main.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NEWLINE_PLACEHOLDER: char = '§';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOP_COMMENT` is never used
[INFO] [stdout]   --> src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const TOP_COMMENT: &str = "# [@reusable_component_start]:"; // placeholder to represent the start of a reusable component
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOTTOM_COMMENT` is never used
[INFO] [stdout]   --> src/main.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const BOTTOM_COMMENT: &str = "# [@reusable_component_end]:"; // placeholder to represent the end of a reusable component
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             process_html_template_file_for_all_languages(&dest_uncompiled, OUTPUT_DIRECTORY, &translations_files);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let _ = process_html_template_file_for_all_languages(&dest_uncompiled, OUTPUT_DIRECTORY, &translations_files);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:491:19
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let tmp_dir = tempdir().expect("Failed to create temporary directory for test");
[INFO] [stdout]     |                   ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `some` in this scope
[INFO] [stdout]    --> tests/components_test.rs:502:16
[INFO] [stdout]     |
[INFO] [stdout] 502 |         if let some(parent) = full_path.parent() {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:605:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named tuple variant `Some` defined here
[INFO] [stdout] help: a tuple variant with a similar name exists (notice the capitalization)
[INFO] [stdout]     |
[INFO] [stdout] 502 -         if let some(parent) = full_path.parent() {
[INFO] [stdout] 502 +         if let Some(parent) = full_path.parent() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PATH_SEPARATOR` in module `env::consts`
[INFO] [stdout]    --> tests/components_test.rs:755:71
[INFO] [stdout]     |
[INFO] [stdout] 755 |     let new_path = format!("{}{}{}", mock_dir.display(), env::consts::PATH_SEPARATOR, original_path);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^ not found in `env::consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:771:15
[INFO] [stdout]     |
[INFO] [stdout] 771 |     let tmp = tempdir().unwrap();
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:806:15
[INFO] [stdout]     |
[INFO] [stdout] 806 |     let tmp = tempdir().unwrap();
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:832:15
[INFO] [stdout]     |
[INFO] [stdout] 832 |     let tmp = tempdir().unwrap();
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:870:15
[INFO] [stdout]     |
[INFO] [stdout] 870 |     let tmp = tempdir().unwrap();
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tempdir` in this scope
[INFO] [stdout]    --> tests/components_test.rs:905:15
[INFO] [stdout]     |
[INFO] [stdout] 905 |     let tmp = tempdir().unwrap();
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tempfile::tempdir;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> tests/components_test.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let files: Vec<String> = files_in_source_dir()?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^-- argument #1 of type `&str` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/components.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn files_in_source_dir(dir: &str) -> Result<Vec<PathBuf>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let files: Vec<String> = files_in_source_dir(/* &str */)?;
[INFO] [stdout]    |                                                  ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]   --> tests/components_test.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let files: Vec<String> = files_in_source_dir()?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ expected `Vec<String>`, found `Vec<PathBuf>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `?` operator cannot convert from `Vec<PathBuf>` to `Vec<String>`
[INFO] [stdout]    = note: expected struct `Vec<String>`
[INFO] [stdout]               found struct `Vec<PathBuf>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::io::Error`
[INFO] [stdout]   --> tests/components_test.rs:66:51
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn test_files_in_source_dir() -> Result<()> {
[INFO] [stdout]    |                                  ---------- expected `std::io::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 66 |     let files: Vec<String> = files_in_source_dir()?;
[INFO] [stdout]    |                              ---------------------^ the trait `From<anyhow::Error>` is not implemented for `std::io::Error`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this can't be annotated with `?` because it has type `Result<_, anyhow::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: `std::io::Error` implements trait `From<T>`:
[INFO] [stdout]              From<ErrorKind>
[INFO] [stdout]              From<IntoInnerError<W>>
[INFO] [stdout]              From<NulError>
[INFO] [stdout]              From<PathPersistError>
[INFO] [stdout]              From<PersistError<F>>
[INFO] [stdout]              From<TryReserveError>
[INFO] [stdout]              From<rustix::backend::io::errno::Errno>
[INFO] [stdout]              From<serde_json::Error>
[INFO] [stdout]            and 2 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:117:76
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let result = only_modify_time_newer_than_last_compile_time(&all_files, last_compile_time).unwrap();
[INFO] [stdout]     |                  ---------------------------------------------             ^^^^^^^^^^^^^^^^^ expected `u64`, found `SystemTime`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:50:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | pub fn only_modify_time_newer_than_last_compile_time( all_files: &Vec<PathBuf>, last_compile_time: u64) -> Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 11 arguments but 9 arguments were supplied
[INFO] [stdout]    --> tests/components_test.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 |       replace_html_component_placeholders(
[INFO] [stdout]     |  _____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout] 282 | |         &html_file,
[INFO] [stdout] 283 | |         &src_dir,
[INFO] [stdout] 284 | |         "<r-",
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |         "}",
[INFO] [stdout] 291 | |     )
[INFO] [stdout]     | |_____- two arguments of type `&str` and `&str` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn replace_html_component_placeholders( html_file: &Path, src_directory: &Path, re_start: &str, re_end: &str, root_placeholder:...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 281 |     replace_html_component_placeholders(
[INFO] [stdout] ...
[INFO] [stdout] 290 |         "}",
[INFO] [stdout] 291 ~         /* &str */,
[INFO] [stdout] 292 +         /* &str */,
[INFO] [stdout] 293 ~     )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `split_into_new_component_and_new_other` in this scope
[INFO] [stdout]    --> tests/components_test.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         split_into_new_component_and_new_other(&all_modified_files, components_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `split_into_new_component_and_new_other` in this scope
[INFO] [stdout]    --> tests/components_test.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         split_into_new_component_and_new_other(&all_modified_files, components_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `split_into_new_component_and_new_other` in this scope
[INFO] [stdout]    --> tests/components_test.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |         split_into_new_component_and_new_other(&all_modified_files, components_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `split_into_new_component_and_new_other` in this scope
[INFO] [stdout]    --> tests/components_test.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |         split_into_new_component_and_new_other(all_modified_files, components_dir);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:546:9
[INFO] [stdout]     |
[INFO] [stdout] 542 |     let result = get_all_files_that_need_recompiling(
[INFO] [stdout]     |                  ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 546 |         &initial_modified_files,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ expected `&HashSet<String>`, found `&String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&HashSet<String>`
[INFO] [stdout]                found reference `&String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:640:8
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub fn get_all_files_that_need_recompiling( source_dir: &str, re_start: &str, re_end: &str, all_new_files: &HashSet<String>, compon...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HashSet<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> tests/components_test.rs:562:40
[INFO] [stdout]     |
[INFO] [stdout] 562 |     println!("Actual final list:\n{}", result);
[INFO] [stdout]     |                                   --   ^^^^^^ `HashSet<String>` cannot be formatted with the default formatter
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `HashSet<String>`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:564:24
[INFO] [stdout]     |
[INFO] [stdout] 564 |     assert_eq!(result, expected_string);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ expected `HashSet<String>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `HashSet<String>`
[INFO] [stdout]                found struct `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:604:9
[INFO] [stdout]     |
[INFO] [stdout] 600 |     let result = get_all_files_that_need_recompiling(
[INFO] [stdout]     |                  ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 604 |         &initial_modified_files,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ expected `&HashSet<String>`, found `&String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&HashSet<String>`
[INFO] [stdout]                found reference `&String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:640:8
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub fn get_all_files_that_need_recompiling( source_dir: &str, re_start: &str, re_end: &str, all_new_files: &HashSet<String>, compon...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HashSet<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> tests/components_test.rs:620:40
[INFO] [stdout]     |
[INFO] [stdout] 620 |     println!("Actual final list:\n{}", result);
[INFO] [stdout]     |                                   --   ^^^^^^ `HashSet<String>` cannot be formatted with the default formatter
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `HashSet<String>`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:622:24
[INFO] [stdout]     |
[INFO] [stdout] 622 |     assert_eq!(result, expected_string);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ expected `HashSet<String>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `HashSet<String>`
[INFO] [stdout]                found struct `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:650:9
[INFO] [stdout]     |
[INFO] [stdout] 646 |     let result = get_all_files_that_need_recompiling(
[INFO] [stdout]     |                  ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 650 |         &initial_modified_files,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ expected `&HashSet<String>`, found `&String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&HashSet<String>`
[INFO] [stdout]                found reference `&String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:640:8
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub fn get_all_files_that_need_recompiling( source_dir: &str, re_start: &str, re_end: &str, all_new_files: &HashSet<String>, compon...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HashSet<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> tests/components_test.rs:664:40
[INFO] [stdout]     |
[INFO] [stdout] 664 |     println!("Actual final list:\n{}", result);
[INFO] [stdout]     |                                   --   ^^^^^^ `HashSet<String>` cannot be formatted with the default formatter
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `HashSet<String>`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:666:24
[INFO] [stdout]     |
[INFO] [stdout] 666 |     assert_eq!(result, expected_string);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ expected `HashSet<String>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `HashSet<String>`
[INFO] [stdout]                found struct `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 694 |     let result = get_all_files_that_need_recompiling(
[INFO] [stdout]     |                  ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 698 |         &initial_modified_files,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ expected `&HashSet<String>`, found `&String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&HashSet<String>`
[INFO] [stdout]                found reference `&String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/components.rs:640:8
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub fn get_all_files_that_need_recompiling( source_dir: &str, re_start: &str, re_end: &str, all_new_files: &HashSet<String>, compon...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HashSet<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> tests/components_test.rs:714:40
[INFO] [stdout]     |
[INFO] [stdout] 714 |     println!("Actual final list:\n{}", result);
[INFO] [stdout]     |                                   --   ^^^^^^ `HashSet<String>` cannot be formatted with the default formatter
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `HashSet<String>`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/components_test.rs:716:24
[INFO] [stdout]     |
[INFO] [stdout] 716 |     assert_eq!(result, expected_string);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ expected `HashSet<String>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `HashSet<String>`
[INFO] [stdout]                found struct `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0425, E0531.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `websiteCompiler` (test "components_test") due to 30 previous errors
[INFO] running `Command { std: "docker" "inspect" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3", kill_on_drop: false }`
[INFO] [stdout] 43a6c21a788e5a3cf32734ebb1718ef2eb7664dd05d31977b44c7c858967f6b3
